package cn.shiwei.shopcart.mapper;

import cn.shiwei.basic.mapper.BaseMapper;
import cn.shiwei.shopcart.domain.ShopCart;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface ShopCartMapper extends BaseMapper<ShopCart> {
    /**
     * 根据用户登录信息的id查询数据库中所有状态为已加入购物车的购物车详情
     * @param id 登录信息的id
     * @param state 购物状态
     * @return
     */
    List<ShopCart> loadByLogininfoId(@Param("id") Long id, @Param("state") Integer state);

    /**
     * 根据购物id和购物状态修改(状态)
     * @param id 购物id
     * @param state 购物状态
     */
    void updateState(@Param("id") Long id, @Param("logininfoId") Long logininfoId , @Param("state") Integer state);

    /**
     * 根据id集合和状态查询符合的数据
     * @param ids 购物车商品id(shopCart.id)
     * @param addToCart
     * @return
     */
    List<ShopCart> patchLoadByIdAndState(@Param("ids") List<Long> ids, @Param("state") Integer addToCart);

    ShopCart loadByIdAndState(@Param("id")Long cartId,@Param("state") Integer addToCart);
}
